using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

using DataAccess;
using DataTransferObject;

namespace Business
{
    public enum TuaSachBUSResult
    {
        OK,
        MATUASACHERROR,
        TENTUASACHERROR,
        MATLERROR,
        MATGERROR,
        MANXBERROR,
        MANNERROR,
        TOMTATERROR,
        NGAYNHAPERROR,
        GIAERROR,
        SOLUONGERROR,
        SOTRANGERROR,
        NAMXBERROR,
        HINHANHERROR,
        DAOERROR
    }

    public class clsTuaSachBUS
    {
        //Fields.
        private clsTuaSachDAO TuaSachDAO;

        //Constructors.
        public clsTuaSachBUS()
        {
            this.TuaSachDAO = new clsTuaSachDAO();
        }

        #region Methods
        public TuaSachBUSResult KiemTraQuyDinh(clsTuaSachDTO obj)
        {
            if (obj.Gia <= 0)
                return TuaSachBUSResult.GIAERROR;
            if (obj.SoLuong <= 0)
                return TuaSachBUSResult.SOLUONGERROR;
            if (obj.SoTrang <= 0)
                return TuaSachBUSResult.SOTRANGERROR;
            if (obj.NamXB <=0)
                return TuaSachBUSResult.NAMXBERROR;
            return TuaSachBUSResult.OK;
        }

        public DataTable DanhSachTuaSach()
        {
            return this.TuaSachDAO.SelectAll();
        }

        public TuaSachBUSResult ThemTuaSach(clsTuaSachDTO obj)
        {
            if (!this.TuaSachDAO.Insert(obj))
                return TuaSachBUSResult.DAOERROR;
            return TuaSachBUSResult.OK;
        }

        public TuaSachBUSResult SuaTuaSach(clsTuaSachDTO obj)
        {
            if (!this.TuaSachDAO.Update(obj))
                return TuaSachBUSResult.DAOERROR;
            return TuaSachBUSResult.OK;
        }

        public TuaSachBUSResult XoaTuaSach(clsTuaSachDTO obj)
        {
            if (!this.TuaSachDAO.Delete(obj))
                return TuaSachBUSResult.DAOERROR;
            return TuaSachBUSResult.OK;
        }
        #endregion
    }
}
